package ${packagePrefix}.domain.gateway;

import ${packagePrefix}.domain.model.${tableName?lower_case}.${domainObjectName};
import java.util.List;

/**
 * ${entityComment}仓储接口
 */
public interface ${domainObjectName}Gateway {
    /**
     * 保存${entityComment}
     * @param ${domainObjectName?uncap_first} ${entityComment}领域对象
     */
    void save(${domainObjectName} ${domainObjectName?uncap_first});
    
    /**
     * 更新${entityComment}
     * @param ${domainObjectName?uncap_first} ${entityComment}领域对象
     */
    void update(${domainObjectName} ${domainObjectName?uncap_first});
    
    /**
     * 根据ID获取${entityComment}
     * @param id ${entityComment}ID
     * @return ${entityComment}领域对象
     */
    ${domainObjectName} findById(Long id);
    
    /**
     * 根据条件查询${entityComment}列表
     * @param ${domainObjectName?uncap_first} 查询条件
     * @return ${entityComment}领域对象列表
     */
    List<${domainObjectName}> findByCondition(${domainObjectName} ${domainObjectName?uncap_first});
} 